#ifndef PHOTON_HPP
#define PHOTON_HPP
#include "color.hpp"
#include "vector.hpp"

class Photon {
public:
	Photon(const Color&,const Vector&,const Vector&);
	~Photon(void);
	
	void set_color(const Color&);
	void set_position(const Vector&);
	void set_direction(const Vector&);
	static void set_order(unsigned short);
	static void next_order(void);
	
	Color get_color(void) const;
	Vector get_position(void) const;
	Vector get_direction(void) const;	
	static unsigned short get_order(void);

private:
	Color color;	
	Vector position;
	Vector direction;
	static unsigned short order;
};

bool compare(Photon*,Photon*);

#endif

